Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skeleton of Sharding Approach #1

Merged
merged 12 commits into from
Sep 28, 2023
Merged

Skeleton of Sharding Approach #1

merged 12 commits into from
Sep 28, 2023

Conversation

neal-erickson
Copy link
Contributor

EXTREMELY rudimentary approach for the sharding, does not handle dependencies between shards yet, but want to get the Shard dataclass in place for Jonhas et al.

tests/test_requirements.txt Outdated Show resolved Hide resolved
pytket/phir/sharding/shard.py Outdated Show resolved Hide resolved
pytket/phir/main.py Outdated Show resolved Hide resolved
pytket/phir/sharding/shard.py Outdated Show resolved Hide resolved
tests/test_sharder.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@peter-campora peter-campora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

pytket/phir/sharding/shard.py Outdated Show resolved Hide resolved
@Jonhas-qtm Jonhas-qtm self-requested a review September 27, 2023 21:34
pytket/phir/sharding/sharder.py Outdated Show resolved Hide resolved
compilation pipeline.
"""

def __init__(self, circuit: Circuit) -> None:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the circuit that we are passing in here suppose to represent a block? Or is there going to be a translation step between circuit -> block? We will need to keep track of each shards that belongs to a block in the future, so I just wasn't sure that is being expressed here properly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think based on the conversation this morning, that for the initial release we are having a single block so it would be 1-to-1. Hopefully I understood that. @dlucchetti interested in your thoughts?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does a circuit represent the main block's program? From my understanding, it just provides an abstraction over circuits through wires and operations, but doesn't really provide block level information. Given that we do have just a single flat block, I would assume a block would just contain one circuit compared to N arbitrary circuits if there are conditional expressions.

@neal-erickson neal-erickson merged commit 72363eb into main Sep 28, 2023
1 check passed
@neal-erickson neal-erickson deleted the nje-sharding branch September 28, 2023 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants